/*
* QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
* Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

namespace QuantConnect.Orders;

public class BybitOrderProperties : OrderProperties
{
    
    /// <summary>
    /// This flag will ensure the order executes only as a maker (no fee) order.
    /// If part of the order results in taking liquidity rather than providing,
    /// it will be rejected and no part of the order will execute.
    /// Note: this flag is only applied to Limit orders.
    /// </summary>
    public bool PostOnly { get; set; }
    
    /// <summary>
    /// This flag will ensure your position can only reduce in size if the order is triggered.
    /// <seealso href="https://www.bybit.com/en-US/help-center/s/article/What-is-a-Reduce-Only-Order"/>
    /// </summary>
    public bool? ReduceOnly { get; set; }
}
